package com.yxjwzpx.management.service;

import com.yxjwzpx.management.domain.Ship;

import java.util.List;

/**
 * 船舶信息Service接口
 * 
 * @author yxjwzpx
 * @date 2025-04-09
 */
public interface IShipService 
{
    /**
     * 查询船舶总数量
     * @return 船舶数量
     */
    int countShips(Long ownerId, Long companyId);


    /**
     * 查询船舶信息
     * 
     * @param shipId 船舶信息主键
     * @return 船舶信息
     */
    public Ship selectShipByShipId(Long shipId);

    /**
     * 查询船舶信息列表
     * 
     * @param ship 船舶信息
     * @return 船舶信息集合
     */
    public List<Ship> selectShipList(Ship ship);

    /**
     * 新增船舶信息
     * 
     * @param ship 船舶信息
     * @return 结果
     */
    public int insertShip(Ship ship);

    /**
     * 修改船舶信息
     * 
     * @param ship 船舶信息
     * @return 结果
     */
    public int updateShip(Ship ship);

    /**
     * 批量删除船舶信息
     * 
     * @param shipIds 需要删除的船舶信息主键集合
     * @return 结果
     */
    public int deleteShipByShipIds(Long[] shipIds);

    /**
     * 删除船舶信息信息
     * 
     * @param shipId 船舶信息主键
     * @return 结果
     */
    public int deleteShipByShipId(Long shipId);
}
